今天出去面試,來不及做一個進階專案,就先來個閱讀補充知識吧!
常見用途 | 解釋原因 |
---|---|
本地開發 | 使用 Docker 啟動前後端,可以不影響到本機環境 |
測試 CI/CD | 自動化測試每次都跑在一致環境中 |
部署上線 | 例如用 Docker 部署 FastAPI(之後來做這個) |
Docker 是甚麼就不用多說了吧,那我們來聊一下 Kubernetes 又是甚麼!
Kubernetes 又叫做(k8s),因為k跟s之間有八個字母。Kubernetes 是 Google 發明的容器管理平台,主要來協助完成自動化部署以及管理容器,跟做一些 Docker 做不到的事。
功能 | Kubernetes | Docker |
---|---|---|
自動決定哪台伺服器跑哪個容器 | v | x |
依使用量自動加機器、加容器 | v | x |
容器間的 DNS 名稱自動設定 | v | x |
程式掛掉自動重啟 | v | x |
負載平衡 | v | x |
管理單一容器 | v | v |
管理上百個容器 | v | x |
自動水平擴展 | v | x |
運行環境 | 多機(cluster) | 單機伺服器 |
難度 | 較困難(但功能很強大) | 較容易上手 |
結論:Docker 幫你做容器,Kubernetes 幫你管很多容器。
用 Docker 是為了方便移植與相同環境,用 Kubernetes 是為了部署到雲端的穩定性與可擴展性。
平台 | 說明 |
---|---|
Docker | 最常見容器引擎,開發 & 部署標配 |
Podman | RedHat 系統取代 Docker 的新選擇 |
containerd | Docker 背後實際在跑容器的東西 |
CRI-O | Kubernetes 官方推薦的容器運行環境 |
LXC / LXD | 更靠近虛擬機的容器技術 |
systemd-nspawn | 比較特殊,做系統級容器 |
今天就先這樣了...bye
[上一篇] Day3